package com.liveneo.adapter.mobile.service;

import java.util.List;

import com.liveneo.adapter.base.entity.PrpmLossItem;
import com.liveneo.adapter.mobile.model.request.LossItemRequest;

/**
 * @Title:LossItem接口
 * @Description:
 * @Author:zhoupan
 * @Since:2015-8-5 上午09:45:14
 * @Version:1.0.0
 * @Copyright (c) 北京朗泰恒盛信息技术有限公司-版权所有
 */
public interface LossItemService {
    public abstract List<PrpmLossItem> getLossItemByPhoneNo(String mobile);
    
    public abstract PrpmLossItem selectByPrimaryKey(String lossItemId);

    public abstract List<PrpmLossItem> getLossItemByCaseInfoId(String caseInfoId);

    public abstract List<PrpmLossItem> getLossItemByCaseNo(String caseNo);
    public abstract List<String> getLossUuidByCaseNo(String caseNo);

    public abstract PrpmLossItem getLossItemByCaseNoLossId(String caseNo, String lossId);

    public abstract int deleteByCaseNo(String caseNo);

    public abstract int saveList(List<PrpmLossItem> lossItemList);

    public abstract int updateLossItem(PrpmLossItem lossItem);

    public abstract int save(PrpmLossItem lossItem);

    public abstract int updateByPrimaryKeySelective(PrpmLossItem lossItem);
    
    public abstract int updateLossItemByUuid(PrpmLossItem lossItem);
    
    public abstract int updateLossStatusByUuidList(PrpmLossItem lossItem);

    public abstract List<PrpmLossItem> getLossItemByPhoneNoFlag(String phoneNo);
    
    public abstract List<PrpmLossItem> getLossItemByUserCode(String userType,String userId, String caseUuid);
    
    
    public abstract List<PrpmLossItem> getLossItemByCaseUuidsAndUserId(String userType,String mobile,String caseUuid);
    
    public abstract List<PrpmLossItem> getLossItemByCaseNo(String caseNo,String userType,String userCode);
    
    public abstract List<PrpmLossItem> getLossItemByCaseId(String caseInfoId,String userType,String userCode);
    /**
     * 只查询标的,切只查询出caseNo,caseuuid,mobile
     * 
     * @param caseUuids
     * @return
     */
    public abstract List<PrpmLossItem> getLossItemByCaseUuids(List<String> caseUuids);

    /**
     * 只查询lossid!=0和lossID！=7的
     * 
     * @param caseUuids
     * @return
     */
    public abstract List<PrpmLossItem> getLossItemByCaseUuidsAndLossId(String caseNo);

    /**
     * 
     * @param phoneNo,lossId
     * @return
     */
    public abstract List<PrpmLossItem> getLossItemByPhoneNoAndLossId(String phoneNo, String lossId);

    public abstract List<PrpmLossItem> getPendingList(int currentPage, int pagesize, String caseNo);

    // public abstract List<PrpmLossItem78> getLossItem78ToP19(String createTime);
    //
    // public abstract int updateLossItem78(PrpmLossItem78 lossItem78);
    public abstract List<PrpmLossItem> getLossItemByUuids(List<String> uuids);

    public abstract PrpmLossItem getLossItemByCaseNoLossIdUuid(String caseNo, String lossId, String lossUuid);

    List<PrpmLossItem> getLossItemByRequest(LossItemRequest request);

    
    List<PrpmLossItem> selectLossItemByLossUuids(PrpmLossItem prpmLossItem);

    
    /**对外接口start***/
    int updateLossItemStatusById(PrpmLossItem lossItem);
    /**对外接口end***/

}
